/* 
 * File:   Codec.h
 * Author: max
 *
 * Created on April 27, 2013, 5:20 PM
 */

#ifndef CODEC_H
#define	CODEC_H

#include <string>
#include <stdint.h>
#include <stdlib.h>
#include <iostream>
#include <iomanip>
#include <sstream>
#include "common_Excepcion.h"

using namespace std;

namespace TP {

    class Codec {
    public:
        Codec();

        virtual ~Codec();
        
        static string codificar(const string& pData) throw (Excepcion&);
        
        static string decodificar (const string& pData) throw (Excepcion&);

        static string& codificar(string& pData, const uint8_t *pBuffer, const size_t pLongitudBuffer) throw (Excepcion&);
        
        static uint8_t*& decodificar (uint8_t* &pBuffer, uint32_t &pLongitudBuffer, const string& pData) throw (Excepcion&);
        
    };
    
}

#endif	/* CODEC_H */

